inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
plus2(x, y) -> ifPlus4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
ifPlus4(false, x, y, z) -> plus2(x, z)
ifPlus4(true, x, y, z) -> y
minus2(s1(x), s1(y)) -> minus2(x, y)
minus2(0, x) -> 0
minus2(x, 0) -> x
minus2(x, x) -> 0
eq2(s1(x), s1(y)) -> eq2(x, y)
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(0, 0) -> true
eq2(x, x) -> true
times2(x, y) -> timesIter3(x, y, 0)
timesIter3(x, y, z) -> ifTimes5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
ifTimes5(true, x, y, z, u) -> z
ifTimes5(false, x, y, z, u) -> timesIter3(x, y, u)
f -> g
f -> h
↳ QTRS
↳ DependencyPairsProof
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
plus2(x, y) -> ifPlus4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
ifPlus4(false, x, y, z) -> plus2(x, z)
ifPlus4(true, x, y, z) -> y
minus2(s1(x), s1(y)) -> minus2(x, y)
minus2(0, x) -> 0
minus2(x, 0) -> x
minus2(x, x) -> 0
eq2(s1(x), s1(y)) -> eq2(x, y)
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(0, 0) -> true
eq2(x, x) -> true
times2(x, y) -> timesIter3(x, y, 0)
timesIter3(x, y, z) -> ifTimes5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
ifTimes5(true, x, y, z, u) -> z
ifTimes5(false, x, y, z, u) -> timesIter3(x, y, u)
f -> g
f -> h
PLUS2(x, y) -> EQ2(x, 0)
PLUS2(x, y) -> MINUS2(x, s1(0))
TIMES2(x, y) -> TIMESITER3(x, y, 0)
TIMESITER3(x, y, z) -> PLUS2(y, z)
TIMESITER3(x, y, z) -> IFTIMES5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
MINUS2(s1(x), s1(y)) -> MINUS2(x, y)
PLUS2(x, y) -> IFPLUS4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
IFTIMES5(false, x, y, z, u) -> TIMESITER3(x, y, u)
TIMESITER3(x, y, z) -> MINUS2(x, s1(0))
IFPLUS4(false, x, y, z) -> PLUS2(x, z)
EQ2(s1(x), s1(y)) -> EQ2(x, y)
TIMESITER3(x, y, z) -> EQ2(x, 0)
INC1(s1(x)) -> INC1(x)
PLUS2(x, y) -> INC1(x)
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
plus2(x, y) -> ifPlus4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
ifPlus4(false, x, y, z) -> plus2(x, z)
ifPlus4(true, x, y, z) -> y
minus2(s1(x), s1(y)) -> minus2(x, y)
minus2(0, x) -> 0
minus2(x, 0) -> x
minus2(x, x) -> 0
eq2(s1(x), s1(y)) -> eq2(x, y)
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(0, 0) -> true
eq2(x, x) -> true
times2(x, y) -> timesIter3(x, y, 0)
timesIter3(x, y, z) -> ifTimes5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
ifTimes5(true, x, y, z, u) -> z
ifTimes5(false, x, y, z, u) -> timesIter3(x, y, u)
f -> g
f -> h
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
PLUS2(x, y) -> EQ2(x, 0)
PLUS2(x, y) -> MINUS2(x, s1(0))
TIMES2(x, y) -> TIMESITER3(x, y, 0)
TIMESITER3(x, y, z) -> PLUS2(y, z)
TIMESITER3(x, y, z) -> IFTIMES5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
MINUS2(s1(x), s1(y)) -> MINUS2(x, y)
PLUS2(x, y) -> IFPLUS4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
IFTIMES5(false, x, y, z, u) -> TIMESITER3(x, y, u)
TIMESITER3(x, y, z) -> MINUS2(x, s1(0))
IFPLUS4(false, x, y, z) -> PLUS2(x, z)
EQ2(s1(x), s1(y)) -> EQ2(x, y)
TIMESITER3(x, y, z) -> EQ2(x, 0)
INC1(s1(x)) -> INC1(x)
PLUS2(x, y) -> INC1(x)
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
plus2(x, y) -> ifPlus4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
ifPlus4(false, x, y, z) -> plus2(x, z)
ifPlus4(true, x, y, z) -> y
minus2(s1(x), s1(y)) -> minus2(x, y)
minus2(0, x) -> 0
minus2(x, 0) -> x
minus2(x, x) -> 0
eq2(s1(x), s1(y)) -> eq2(x, y)
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(0, 0) -> true
eq2(x, x) -> true
times2(x, y) -> timesIter3(x, y, 0)
timesIter3(x, y, z) -> ifTimes5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
ifTimes5(true, x, y, z, u) -> z
ifTimes5(false, x, y, z, u) -> timesIter3(x, y, u)
f -> g
f -> h
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
EQ2(s1(x), s1(y)) -> EQ2(x, y)
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
plus2(x, y) -> ifPlus4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
ifPlus4(false, x, y, z) -> plus2(x, z)
ifPlus4(true, x, y, z) -> y
minus2(s1(x), s1(y)) -> minus2(x, y)
minus2(0, x) -> 0
minus2(x, 0) -> x
minus2(x, x) -> 0
eq2(s1(x), s1(y)) -> eq2(x, y)
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(0, 0) -> true
eq2(x, x) -> true
times2(x, y) -> timesIter3(x, y, 0)
timesIter3(x, y, z) -> ifTimes5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
ifTimes5(true, x, y, z, u) -> z
ifTimes5(false, x, y, z, u) -> timesIter3(x, y, u)
f -> g
f -> h
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
EQ2(s1(x), s1(y)) -> EQ2(x, y)
POL( EQ2(x1, x2) ) = max{0, x2 - 1}
POL( s1(x1) ) = x1 + 2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
plus2(x, y) -> ifPlus4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
ifPlus4(false, x, y, z) -> plus2(x, z)
ifPlus4(true, x, y, z) -> y
minus2(s1(x), s1(y)) -> minus2(x, y)
minus2(0, x) -> 0
minus2(x, 0) -> x
minus2(x, x) -> 0
eq2(s1(x), s1(y)) -> eq2(x, y)
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(0, 0) -> true
eq2(x, x) -> true
times2(x, y) -> timesIter3(x, y, 0)
timesIter3(x, y, z) -> ifTimes5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
ifTimes5(true, x, y, z, u) -> z
ifTimes5(false, x, y, z, u) -> timesIter3(x, y, u)
f -> g
f -> h
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
MINUS2(s1(x), s1(y)) -> MINUS2(x, y)
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
plus2(x, y) -> ifPlus4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
ifPlus4(false, x, y, z) -> plus2(x, z)
ifPlus4(true, x, y, z) -> y
minus2(s1(x), s1(y)) -> minus2(x, y)
minus2(0, x) -> 0
minus2(x, 0) -> x
minus2(x, x) -> 0
eq2(s1(x), s1(y)) -> eq2(x, y)
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(0, 0) -> true
eq2(x, x) -> true
times2(x, y) -> timesIter3(x, y, 0)
timesIter3(x, y, z) -> ifTimes5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
ifTimes5(true, x, y, z, u) -> z
ifTimes5(false, x, y, z, u) -> timesIter3(x, y, u)
f -> g
f -> h
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MINUS2(s1(x), s1(y)) -> MINUS2(x, y)
POL( MINUS2(x1, x2) ) = max{0, x2 - 1}
POL( s1(x1) ) = x1 + 2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
plus2(x, y) -> ifPlus4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
ifPlus4(false, x, y, z) -> plus2(x, z)
ifPlus4(true, x, y, z) -> y
minus2(s1(x), s1(y)) -> minus2(x, y)
minus2(0, x) -> 0
minus2(x, 0) -> x
minus2(x, x) -> 0
eq2(s1(x), s1(y)) -> eq2(x, y)
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(0, 0) -> true
eq2(x, x) -> true
times2(x, y) -> timesIter3(x, y, 0)
timesIter3(x, y, z) -> ifTimes5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
ifTimes5(true, x, y, z, u) -> z
ifTimes5(false, x, y, z, u) -> timesIter3(x, y, u)
f -> g
f -> h
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
INC1(s1(x)) -> INC1(x)
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
plus2(x, y) -> ifPlus4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
ifPlus4(false, x, y, z) -> plus2(x, z)
ifPlus4(true, x, y, z) -> y
minus2(s1(x), s1(y)) -> minus2(x, y)
minus2(0, x) -> 0
minus2(x, 0) -> x
minus2(x, x) -> 0
eq2(s1(x), s1(y)) -> eq2(x, y)
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(0, 0) -> true
eq2(x, x) -> true
times2(x, y) -> timesIter3(x, y, 0)
timesIter3(x, y, z) -> ifTimes5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
ifTimes5(true, x, y, z, u) -> z
ifTimes5(false, x, y, z, u) -> timesIter3(x, y, u)
f -> g
f -> h
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
INC1(s1(x)) -> INC1(x)
POL( INC1(x1) ) = max{0, x1 - 1}
POL( s1(x1) ) = x1 + 2
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
plus2(x, y) -> ifPlus4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
ifPlus4(false, x, y, z) -> plus2(x, z)
ifPlus4(true, x, y, z) -> y
minus2(s1(x), s1(y)) -> minus2(x, y)
minus2(0, x) -> 0
minus2(x, 0) -> x
minus2(x, x) -> 0
eq2(s1(x), s1(y)) -> eq2(x, y)
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(0, 0) -> true
eq2(x, x) -> true
times2(x, y) -> timesIter3(x, y, 0)
timesIter3(x, y, z) -> ifTimes5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
ifTimes5(true, x, y, z, u) -> z
ifTimes5(false, x, y, z, u) -> timesIter3(x, y, u)
f -> g
f -> h
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
IFPLUS4(false, x, y, z) -> PLUS2(x, z)
PLUS2(x, y) -> IFPLUS4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
plus2(x, y) -> ifPlus4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
ifPlus4(false, x, y, z) -> plus2(x, z)
ifPlus4(true, x, y, z) -> y
minus2(s1(x), s1(y)) -> minus2(x, y)
minus2(0, x) -> 0
minus2(x, 0) -> x
minus2(x, x) -> 0
eq2(s1(x), s1(y)) -> eq2(x, y)
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(0, 0) -> true
eq2(x, x) -> true
times2(x, y) -> timesIter3(x, y, 0)
timesIter3(x, y, z) -> ifTimes5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
ifTimes5(true, x, y, z, u) -> z
ifTimes5(false, x, y, z, u) -> timesIter3(x, y, u)
f -> g
f -> h
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
TIMESITER3(x, y, z) -> IFTIMES5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
IFTIMES5(false, x, y, z, u) -> TIMESITER3(x, y, u)
inc1(s1(x)) -> s1(inc1(x))
inc1(0) -> s1(0)
plus2(x, y) -> ifPlus4(eq2(x, 0), minus2(x, s1(0)), x, inc1(x))
ifPlus4(false, x, y, z) -> plus2(x, z)
ifPlus4(true, x, y, z) -> y
minus2(s1(x), s1(y)) -> minus2(x, y)
minus2(0, x) -> 0
minus2(x, 0) -> x
minus2(x, x) -> 0
eq2(s1(x), s1(y)) -> eq2(x, y)
eq2(0, s1(x)) -> false
eq2(s1(x), 0) -> false
eq2(0, 0) -> true
eq2(x, x) -> true
times2(x, y) -> timesIter3(x, y, 0)
timesIter3(x, y, z) -> ifTimes5(eq2(x, 0), minus2(x, s1(0)), y, z, plus2(y, z))
ifTimes5(true, x, y, z, u) -> z
ifTimes5(false, x, y, z, u) -> timesIter3(x, y, u)
f -> g
f -> h